@局外人
2年前 提问
1个回答

协议漏洞攻击有哪些攻击手段

Anna艳娜
2年前

协议漏洞攻击有以下攻击手段:

  • WinNuke攻击:操作系统在设计处理TCP数据包时,都严栺遵循了TCP状态机,但遇到不符合状态机的数据包时,若不知所措,就可能造成死机。WinNuke攻击首先发送一个设置了URG标志的TCP数据包,当操作系统接收到这样的数据包时,说明有紧急情况发生,并且,操作系统要求得到进一步的数据,以说明具体情况。此时,攻击者发送一个RST数据包,构造了TCP状态机中不会出现的数据包,若操作系统(如未打补丁的Windows NT)不能正确处理,就会死机,使连接异常终止,服务中断。

  • Smurf攻击:IP规定主机号为全1的地址为该网段的广播地址,路由器会把这样的数据包广播给该网络上的所有主机。Smurf攻击利用了广播数据包,可以将一个数据包“放大”为多个。攻击者伪装某源地址向一个网络广播地址发送一组ICMP回应请求数据包,这些数据包被转发到目标子网的所有主机上。由于Smurf攻击发出的是ICMP回应请求,因此所有接收到该广播包的主机将向被伪装的源地址发回ICMP回应应答。攻击者通过几百个数据包就可以产生成千上万的数据包,这样不仅可以造成目标主机的拒绝服务,而且还会使目标子网的网络本身也遭到DoS攻击。

  • Land攻击:Land攻击的特征是IP协议中IP源地址和目标地址相同。操作系统如Window NT不知道该如何处理这种情况,就可能造成死机。Land攻击向UDP目标端口135发送伪装的远程过程调用(remote procedure call, RPC)的UDP数据包,使之看上去好像是一个RPC服务器在向另一个RPC服务器发送数据,目标服务器将返回一个REJECT数据包,而源服务器用另一个REJECT数据包应答,结果就会造成死循环,只有当数据包作为异常处理被丢掉时循环才会中止。如果将伪装的UDP数据包发送至多台主机,就会产生多个循环,将消耗大量处理器资源和网络带宽。

  • TCP序列号预计:首先,攻击者以真实的身份做几次尝试性的连接,在每次连接过程中把其中的ISN号记录下来,通过统计,对往返时间(round trip time, RTT)进行平均求值,以猜测下一次可能的ISN。如果ISN的实现是每秒钟ISN增加128000,每次连接增加64000,那么紧接着下一次与服务器建立连接时服务器采用的ISN是128000乘以RTT的一半,再加上64000。

  • SYN Flood攻击:SYN Flood攻击利用的是TCP的设计漏洞。正常的TCP连接要完成三次握手过程,建立可靠的连接。假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的,即第三次握手无法完成。在这种情况下服务器端会重试,再次发送SYN+ACK给客户端,并等待一段时间,判定无法建立连接后,丢弃这个未完成的连接。这段等待时间称为SYN中止时间(timeout),一般为30s~2min。

  • 循环攻击:循环攻击利用的是UDP漏洞。UDP端口7为回应端口(echo),当该端口接收到一个数据包时,会检查有效负载,再将有效负载数原封不动的回应给源地址。UDP端口19为字符生成端口Chargen(character generator),此端口接收到数据包时,以随机字符串作为应答。如果这些端口是打开的,假设运行了回应服务的主机为E(echo主机),运行了字符生成服务的主机为C(chargen主机),攻击者伪装成E主机UDP端口7向C主机UDP端口19发送数据包,于是主机C向E发送一个随机字符串,然后E将回应C, C再次生成随机字符串发送给E。这个过程以很快的速度持续下去,会耗费相关主机的CPU时间,还会消耗大量的网络带宽,造成资源匮乏。

  • Fraggle攻击:Fraggle攻击发送畸形UDP碎片,使得被攻击者在重组过程中发生未加预料的错误,导致系统崩溃。典型的Fraggle攻击使用的技术有碎片偏移位的错乱、强制发送超大数据包等。例如,一个长为40字节的数据在发送时被分为两段,包含第一段数据的数据包发送了数据0~36字节,包含第二段数据的数据包在正常情况下应该是37~40的4个字节,但攻击者构造并指定第二个数据包中包含第二段数据且为数据的24~27字节来迷惑操作系统,导致系统崩溃。

通过以下方法可以减轻该漏洞类型的危害:

  • 更换默认密码:如此之多的设备和应用程序使用的还是默认的用户名和密码,这种情况多少有些令人惊讶。网络攻击者也清楚地认识到这一点。如果不相信的话,可以在网上搜索默认密码,就会明白更换它们的重要性了。采用有效的密码策略是最好的办法;对于网络安全来说,任何字符串密码与默认密码相比,都是向正确方向迈出的一大步。

  • 不要重复使用密码:相同的用户名/密码组合被频繁地重复使用,这样做可以带来很大的方便。但不法之徒也会了解到这一点。如果他们获得了一个用户名/密码组合,就会在其它地方进行尝试。不要为他们提供方便。很多有用的密码助手只需要记住可以进入的主密码就可以了。此后,只要选择对应的项目就可以完成整个操作。

  • 在员工离职时,立即禁用其帐户:当攻击者获得内部信息的时间,更容易造成安全漏洞。因此,必须在员工离开的时间,禁用其使用的所有帐户。这与员工的整个离职过程是否友好并没有关系。

  • 审查安全日志:优秀的系统管理员了解基线的位置并且会天天对系统日志进行审查。由于本文讲述的是安全漏洞的相关内容,因此,在这里,特别强调安全日志,因为它们是安全的第一道防线。举例来说,当审查Windows服务器安全日志时,系统管理员发现了529起事件(未知用户名或错误密码导致的登陆失败)。这就是一个警告。系统管理员应该确认是有用户忘记了密码,还是攻击者正试图进行连接。